package com.cml.rpc.serialize;

import javafx.beans.property.adapter.ReadOnlyJavaBeanBooleanProperty;

/**
 * 自定义序列化接口
 * @author cml
 * @create 2021/7/21 15:31
 */
public interface Serialize {
    // 将对象序列化成字节数组
    byte[] serialize(Object o);
    // 反序列化
    Object deserialize(byte[] bytes, int messageType);
    // 返回使用的序列化器
    int getType();
    // 根据序列号取出序列化器
    static Serialize getSerializeByCode(int code) {
        switch (code) {
            case 0:
                return new ObjectSerialize();
            case 1:
                return new JsonSerialize();
            default:
                return null;
        }
    }

}
